View Issue Details

IDProjectCategoryView StatusLast Update
0000587T99X171.00 SKB EagleSW Issuepublic2019-06-18 18:47
Reporter(ALTech) SY Yoon Assigned To(SW) Jim Chen Due Date2019-03-29 19:47
PriorityurgentSeveritys2-severeReproducibilityhave not tried
Status closedResolutionfixed 
Summary0000587: HDMI Audio output scenario
DescriptionI’ve received a document for HDMI Audio output scenario from TVS.
Please check it and implement it.
If you have any question about it, please let us know.
And please let us know

According to TVS Engineer, HDMI audio should be set to MUTE or UNMUTE whenever it called AudioSystem.setParametes(“ “).

TagsBFS-163
Attach Tags

Users monitoring this issue

User List (ALTech) Eric Kim , (ALTech) Jewoo Lee , (ALTech) Kian Choi , (SW) Jason Ling , (SW) Jim Chen , (SW) Sam Yang

Activities

(ALTech) SY Yoon

2019-03-27 18:52

developer  

(SW) Jacky Chiang

2019-03-28 14:32

manager   ~0001761

Hi Mr. Yoon,

    We expect it will take us two weeks to implement. Will let you know anytime if any issue or concerns impact schedule.

(ALTech) SY Yoon

2019-03-28 20:39

developer   ~0001765

Hi Jacky,
Mr. Jason asked me to provide sample code about it.
So I asked to TVS and received it.
Please refer attached file.
TVS said that it is not tested. So it just for reference.
And please reduce your schedule. We hope you can provide it in next week.
HDMIAudioOutput_Sample.c (3,194 bytes)   


enum AUDIO_OUTPUT_TYPE{
    AUDIO_OUTPUT_TYPE_NORMAL = 0,
    AUDIO_OUTPUT_TYPE_BT,
    AUDIO_OUTPUT_TYPE_AM,
    AUDIO_OUTPUT_TYPE_SUBMIX
};

int audio_output_type = AUDIO_OUTPUT_TYPE_NORMAL;
bool masterMute=false;
bool btvPlayback=true;
bool nuguPlayback=false;
bool childLimitedMute=false;

void setHdmiAudioOuput(){
    if(masterMute){
        // fix_me. set HDMI mute
        return;
    }
 
    if(nuguPlayback || (!btvPlayback) || (audio_output_type ==AUDIO_OUTPUT_TYPE_SUBMIX) ){
        if((audio_output_type ==AUDIO_OUTPUT_TYPE_BT)||(audio_output_type ==AUDIO_OUTPUT_TYPE_AM)){ 
            // fix_me. set HDMI mute
            return;
        }
        else {
            // fix_me. set HDMI unmute
            return;
        }
    }

    if(childLimitedMute){
        if(audio_output_type ==AUDIO_OUTPUT_TYPE_SUBMIX){
            // fix_me. set HDMI unmute
            return;
        }
        else{
            // fix_me. set HDMI mute
            return;
        }
    }
    if((audio_output_type ==AUDIO_OUTPUT_TYPE_BT)||(audio_output_type ==AUDIO_OUTPUT_TYPE_AM)){
        // fix_me. set HDMI mute
        return;
    }

    // fix_me. set HDMI unmute
    return;
}

static int adev_set_parameters (struct audio_hw_device *dev, const char *kvpairs)
{
....
    ret = str_parms_get_str (parms, "audio_output_type", value, sizeof (value) );
    if (ret >= 0) {
        ALOGI("adev_set_parameters()  audio_output_type: %s\n", value);
        if (strcmp (value, "bt") == 0) audio_output_type=AUDIO_OUTPUT_TYPE_BT;
        else if (strcmp (value, "am") == 0) audio_output_type=AUDIO_OUTPUT_TYPE_AM;
        else if (strcmp (value, "submix") == 0) audio_output_type=AUDIO_OUTPUT_TYPE_SUBMIX;
        else audio_output_type=AUDIO_OUTPUT_TYPE_NORMAL;

        setHdmiAudioOuput();
        goto exit;
    }

    ret = str_parms_get_str (parms, "audio_master_mute", value, sizeof (value) );
    if (ret >= 0) {
        ALOGI("adev_set_parameters()  audio_master_mute: %s\n", value);
        if (strcmp (value, "mute") == 0) masterMute=true;
        else masterMute=false;

        setHdmiAudioOuput();
        goto exit;
    }

    ret = str_parms_get_str (parms, "btv_playback", value, sizeof (value) );
    if (ret >= 0) {
        ALOGI("adev_set_parameters()  btv_playback: %s\n", value);
        if (strcmp (value, "off") == 0) btvPlayback=false;
        else btvPlayback=true;

        setHdmiAudioOuput();
        goto exit;
    }

    ret = str_parms_get_str (parms, "nugu_playback", value, sizeof (value) );
    if (ret >= 0) {
        ALOGI("adev_set_parameters()  nugu_playback: %s\n", value);
        if (strcmp (value, "on") == 0) nuguPlayback=true;
        else nuguPlayback=false;

        setHdmiAudioOuput();
        goto exit;
    }

    ret = str_parms_get_str (parms, "child_limited_mute", value, sizeof (value) );
    if (ret >= 0) {
        ALOGI("adev_set_parameters()  child_limited_mute: %s\n", value);
        if (strcmp (value, "mute") == 0) childLimitedMute=true;
        else childLimitedMute=false;

        setHdmiAudioOuput();
        goto exit;
    }
...
}
HDMIAudioOutput_Sample.c (3,194 bytes)   

(SW) Jacky Chiang

2019-03-29 19:34

manager   ~0001774

Hi Mr. Yoon,

   After our evaluation on this sample code, we understood the overall scenarios.
I think we will finish the development by end of next week and include it in 4/8 FW release.

(SW) Sam Yang

2019-04-03 15:11

developer   ~0001859

Hi Mr.Yoon,

 This function is already been implemented. And it will be
included in the next FW release(supposed to be version "r8").

(ALTech) Jewoo Lee

2019-04-30 16:24

developer   ~0002330

Last edited: 2019-05-02 16:33

The new extra issue has been reported from SKB.

[Device Info.]
EVT/V15.502.13

[Observed Symptom]
HDMI audio output doesn't switch to Mute, even though "/sys/class/amhdmitx/amhdmitx0/aud_mute" value is set from "0"(unmute)" to "1"(mute)

[Expected Result]
HDMI audio output should be Mute.

[Steps to Reproduce]
Refer to the attached scenario(BFX-AT100_HDMI_Audio_Output_Scenario_Eng_v1.0.xlsx).
1) When changing audio path(BT A2DP, 온가족 이어폰(AudioMirror)) -> Mute
2) When 자녀 시청 제한(child_limited) -> Mute
3) When Voice search by NUGU -> Mute

[Reproducibility]
Always

(SW) Jim Chen

2019-05-02 11:14

developer   ~0002354

Hi Jewoo,
We don't understand the meaning of 1 and 2.
Could you please describe it in more detail?
Or show me directly when you are free.

(SW) Sam Yang

2019-05-03 11:58

developer   ~0002365

Last edited: 2019-05-03 12:49

Hi Jewoo,
Could you tell me or show anyway(like UI photo) that is supposed to mute audio-HDMI-out(to reproduce)?
(except echo 1 > aud_mute, because even send this command, but the unmute command, "adev_set_parameters(kv: Audio hdmi-out mute=0)", keep showing)

Issue History

Date Modified Username Field Change
2019-03-27 18:52 (ALTech) SY Yoon New Issue
2019-03-27 18:52 (ALTech) SY Yoon Status new => assigned
2019-03-27 18:52 (ALTech) SY Yoon Assigned To => (SW) Jacky Chiang
2019-03-27 18:52 (ALTech) SY Yoon File Added: BFX-AT100_HDMI_Audio_Output_Scenario_Eng_v1.0.xlsx
2019-03-27 18:53 (ALTech) SY Yoon Issue Monitored: (ALTech) Jewoo Lee
2019-03-27 18:53 (ALTech) SY Yoon Issue Monitored: (ALTech) Eric Kim
2019-03-27 18:53 (ALTech) SY Yoon Issue Monitored: (ALTech) Kian Choi
2019-03-27 18:53 (ALTech) SY Yoon Issue Monitored: (SW) Jim Chen
2019-03-27 18:54 (ALTech) SY Yoon Issue Monitored: (SW) Jason Ling
2019-03-28 14:17 (SW) Jacky Chiang Assigned To (SW) Jacky Chiang => (SW) River Wong
2019-03-28 14:32 (SW) Jacky Chiang Note Added: 0001761
2019-03-28 20:39 (ALTech) SY Yoon File Added: HDMIAudioOutput_Sample.c
2019-03-28 20:39 (ALTech) SY Yoon Note Added: 0001765
2019-03-29 08:40 (SW) River Wong Issue Monitored: (SW) Sam Yang
2019-03-29 19:34 (SW) Jacky Chiang Note Added: 0001774
2019-04-02 17:28 (SW) Jim Chen Assigned To (SW) River Wong => (SW) Sam Yang
2019-04-02 17:28 (SW) Jim Chen Description Updated
2019-04-03 15:11 (SW) Sam Yang Note Added: 0001859
2019-04-16 10:02 (SW) Jim Chen Assigned To (SW) Sam Yang => (ALTech) SY Yoon
2019-04-16 10:02 (SW) Jim Chen Status assigned => resolved
2019-04-16 10:02 (SW) Jim Chen Resolution open => fixed
2019-04-30 16:24 (ALTech) Jewoo Lee Note Added: 0002330
2019-04-30 16:24 (ALTech) Jewoo Lee Tag Attached: BFS-163
2019-05-02 11:14 (SW) Jim Chen Note Added: 0002354
2019-05-02 11:14 (SW) Jim Chen Assigned To (ALTech) SY Yoon => (ALTech) Jewoo Lee
2019-05-02 16:33 (ALTech) Jewoo Lee Note Edited: 0002330
2019-05-02 16:34 (ALTech) Jewoo Lee Assigned To (ALTech) Jewoo Lee => (SW) Jim Chen
2019-05-03 11:58 (SW) Sam Yang Note Added: 0002365
2019-05-03 12:49 (SW) Sam Yang Note Edited: 0002365
2019-05-07 10:49 (SW) Kerwin Chen Category SW => SW Issue
2019-06-18 18:47 (ALTech) SY Yoon Status resolved => closed